import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

class OhosSelectionControls extends MaterialTextSelectionControls {

  @override
  Future<void> handlePaste(TextSelectionDelegate delegate) async {
    // 这里拦截粘贴行为
  if(!Platform.isOhos){
    super.handlePaste(delegate);
    return;
  }
    print("🚫 粘贴被拦截了！");
    // 可选：读取剪贴板内容
    Clipboard.getData(Clipboard.kTextPlain).then((clipData) {
      final text = clipData?.text ?? "";
      print("粘贴内容是: $text");

      // 你可以做任何处理，比如弹窗确认，过滤内容，或者阻止粘贴
      // 例如：只允许纯数字粘贴
      if (RegExp(r'^\d+$').hasMatch(text)) {
        // 手动设置文本
        final newValue = delegate.textEditingValue.copyWith(
          text: delegate.textEditingValue.text + text,
          selection: TextSelection.collapsed(
              offset: delegate.textEditingValue.text.length + text.length),
        );
        delegate.userUpdateTextEditingValue(newValue, SelectionChangedCause.tap);
        delegate.bringIntoView(delegate.textEditingValue.selection.extent);
      } else {
        // 不符合格式就不粘贴
        print("❌ 拒绝粘贴：内容非法");
      }
    });
  }
}
